// generator 生成器
// gen函数 带 * 
// function foo() {
//   for(let i = 0; i < 3; i++) {
//     console.log(i);
//   }
// }

// function* foo() {
//   for(let i = 0; i < 3; i++) {
//     // yield 产出
//     yield i
//   }
// }
// let f = foo();
// // yield只能够在generator中使用
// console.log(f.next()); // value 0 done false  done:后续是否还有yield语句
// console.log(f.next());// value 1 done false
// console.log(f.next());// value 2 done false
// console.log(f.next());// value undefined done true

// function* gen(x) {
//   let y = 2* (yield(x + 1));
//   let z = yield(y / 3);
//   return x + y + z;
// }
// let g = gen(5)
// // next(xxx) // xxx代表上一次yield的返回值
// console.log(g.next() );// 6
// console.log(g.next(12) );// y= 24
// console.log(g.next(13) );// nan z= 13  

function* count(x = 1) {
  while(true) {
    if (x % 7 == 0) {
      yield(x)
    }
    x++;
  }
}
let n = count()



function requset(url) {
  ajax(url, res => {
    getData.next(res)
  })
}

function* gen() {
  let res1 = yield request('a.json') // 调用request 中 getData.next() 接着res2了
  console.log(res1);
  let res2 = yield request('b.json')
  console.log(res2);
}




let getData = gen()
gen.next()